package com.ibeeking.found.msg.rest.service;

import com.ibeeking.found.msg.service.common.dos.WxMpAutoMessageDO;
import com.ibeeking.found.msg.service.common.dos.WxMpAutoMessageKeyDO;
import com.ibeeking.found.msg.service.common.param.WxMpAutoMessageKeyParam;
import com.ibeeking.found.msg.service.common.query.WxMpAutoMessageKeyQuery;
import com.ibeeking.found.msg.service.common.query.WxMpAutoMessageKeyPageQuery;
import com.ibeeking.found.msg.service.common.vo.WxMpAutoMessageKeyVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;


/**
 * IWxMpAutoMessageKeyService
 *
 * @Author ibeeking
 * @Date 2021-02-05 19:10
 */
public interface IWxMpAutoMessageKeyService extends IService<WxMpAutoMessageKeyDO> {

    /***
     * 查询列表
     */
    List<WxMpAutoMessageKeyVO> list(WxMpAutoMessageKeyQuery query);

    /***
     * 分页查询
     */
    Page<WxMpAutoMessageKeyVO> pageList(WxMpAutoMessageKeyPageQuery pageQuery);

    /***
     * 新增
     */
    Boolean add(WxMpAutoMessageKeyParam param);

    /**
     *  批量新增
     */
    Boolean add(WxMpAutoMessageDO messageDO, List<String> keys);

    /***
     * 修改
     */
    Boolean modify(WxMpAutoMessageKeyParam param);

    /***
     * 通过id查询
     */
    WxMpAutoMessageKeyVO view(Long id);

    List<WxMpAutoMessageKeyVO> queryListByMessageId(Long id);

    /***
     * 通过id删除
     */
    Boolean del(Long id);

    /**
     * 通过message批量删除
     * @param messageId
     * @return
     */
    Boolean delByMessageId(Long messageId);
}
